home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 2 / Tech Arsenal 2 (Arsenal Computer).iso / clipper / s93bsp.exe / QBDBFUNC.PRG < prev    next >
Encoding:
Text File  |  1988-03-22  |  1.2 KB  |  63 lines

  1. * Q B D B F U N C
  2.  
  3. function QBDBCTRL
  4. parameters DBNAME, MODE
  5.  
  6. do QBCLMESS
  7. QBKEY = lastkey()
  8. if QBKEY=27
  9.     GETOUT = .t.
  10.     return -1
  11. endif
  12.  
  13. do case
  14. case MODE=0 .or. MODE=1
  15.    do EEDDPRMT
  16.    return 1
  17. case (MADD) .or. (MODE=3)
  18.     QBRESP="A"
  19.     MTLINENO = 0
  20. case MODE=2
  21.     do QBPROMPT with "Add new "+DBNAME+" lines? (Y/N)","YN"
  22.     if QBRESP="Y"
  23.         QBRESP="A"
  24.         MTLINENO = 0
  25.     endif
  26. case QBKEY=13
  27.     do QBPROMPT with "Edit this line? (Y/N)","YN"
  28.     if QBRESP="Y"
  29.         QBRESP = "E"
  30.     endif
  31. case upper(chr(QBKEY))$"EDUQ"
  32.      QBRESP = upper(chr(QBKEY))
  33. otherwise
  34.     do QBPROMPT with "(I)gnore, (E)dit, (D)elete, (U)ndelete all, (Q)uit","IEDUQ"
  35. endcase
  36.  
  37. return 0         &&       Action for dbedit
  38.  
  39.  
  40. ***------------------------------------
  41. procedure QBDBEXIT
  42. Parameters dbname, CURREC
  43. private GO_REC, SCRBOT
  44.  
  45. if GETOUT
  46.     do QBPROMPT with "Finished "+dbname+" editing? (Y/N)","NY"
  47.     GETOUT = (QBRESP="Y")
  48. endif
  49.  
  50. if .not. GETOUT
  51.     do EEDDPRMT
  52.     go_rec = max(reccount()-6,1)
  53.     go go_rec
  54.     if .not. MADD
  55.         SCRBOT = replicate(chr(24),iif(go_rec=1,currec-1,6))
  56.     else
  57.         SCRBOT = replicate(chr(24),15)
  58.     endif
  59.     keyboard SCRBOT
  60. endif
  61.  
  62. return
  63.